package top.mcwebsite.playandroid.business.tixi.impl.vm

import top.mcwebsite.playandroid.business.tixi.impl.model.TixiModel
import top.mcwebsite.playandroid.lib.mvi.base.IIntent
import top.mcwebsite.playandroid.lib.mvi.base.IUiEffect
import top.mcwebsite.playandroid.lib.mvi.base.IUiState
import top.mcwebsite.playandroid.lib.mvi.model.Async

data class TixiUiState(
    val message: String =  "",
    val tixiModels: Async<List<TixiModel>> = Async.UnInitialization
) : IUiState

sealed interface TixiIntent : IIntent {
    data class OnTixiItemClickIntent(val tixiModel: TixiModel): TixiIntent
}

sealed interface TixiUiEffect : IUiEffect {
    data class GoArticleListUiEffect(val tixiModel: TixiModel) : TixiUiEffect
}